package site.huoqiang.emos.service;

import site.huoqiang.emos.common.util.PageUtils;
import site.huoqiang.emos.pojo.Meeting;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * @author: huoqiang huoqiang
 * @date: 2022-03-03
 */
public interface MeetingService {
    /**
     * 查询线下会议分页表单
     *
     * @param param
     * @return
     */
    PageUtils searchOfflineMeetingByPage(HashMap param);

    /**
     * 查询线上会议分页表单
     *
     * @param param
     * @return
     */
    PageUtils searchOnlineMeetingByPage(HashMap param);

    /**
     * 新增会议申请
     *
     * @param meeting
     * @return
     */
    int insert(Meeting meeting);

    /**
     * 查询线下会议周日历
     *
     * @param param
     * @return
     */
    ArrayList<HashMap> searchOfflineMeetingInWeek(HashMap param);

    /**
     * 查询线下会议详情
     *
     * @param status
     * @param id
     * @return
     */
    HashMap searchMeetingInfo(short status, long id);

    /**
     * 删除会议
     *
     * @param param
     * @return
     */
    int deleteMeetingApplication(HashMap param);

    /**
     * 查询视频会议RoomId
     *
     * @param uuid
     * @return
     */
    Long searchRoomIdByUuid(String uuid);

    /**
     * 查询线上会议成员
     *
     * @param param
     * @return
     */
    ArrayList<HashMap> searchOnlineMeetingMembers(HashMap param);

    /**
     * 查询会议是否可以签到
     *
     * @param param
     * @return
     */
    boolean searchCanCheckMeeting(HashMap param);

    /**
     * 更新出席人员名单
     *
     * @param param
     * @return
     */
    int updateMeetingPresent(HashMap param);
}
